package work; 
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class WorkDB {

	 public static Boolean avail(String artigo, String nota)
	 {
			Connection conn = null;
			
			try
			{  
		          Class.forName("org.postgresql.Driver").newInstance();  
		    }
			catch (Exception e)
			{  
		    }  
			
			try
			{
				conn = DriverManager.getConnection("jdbc:postgresql://localhost/mc436","root","root"); 
			}
			catch (SQLException e)
			{
				System.err.println("Não foi possível obter conexão com banco!");
				e.printStackTrace();
			}   
			
			try
			{
				if(conn == null)
					throw new Exception();
				else
				{			
					String nome = artigo.substring(0, artigo.length()-4);
	            	 PreparedStatement st = conn.prepareStatement("UPDATE trabalho SET nota='" + nota +"' WHERE artigo='"+ nome +"'");
	    	         st.executeUpdate();
	    	         st.close();
	    	         return true;
				}
						 	
			}
			catch(Exception e){
				e.printStackTrace();
			}
			return true;
	}
	
	 
	 public static Boolean fileAdd(String file)
	 {
			Connection conn = null;
			
			try
			{  
		          Class.forName("org.postgresql.Driver").newInstance();  
		    }
			catch (Exception e)
			{  
		    }  
			
			try
			{
				conn = DriverManager.getConnection("jdbc:postgresql://localhost/mc436","root","root"); 
			}
			catch (SQLException e)
			{
				System.err.println("Não foi possível obter conexão com banco!");
				e.printStackTrace();
			}   
			
			try
			{
				if(conn == null)
				{
					throw new Exception();
				}
				else
				{
					 Statement st0 = conn.createStatement();
			         ResultSet rs = st0.executeQuery("SELECT * FROM trabalho");
			         String nome = file.substring(0, file.length()-4); 
			         while (rs.next()) {
			             if(rs.getString("artigo").equals(nome))
			             {
			            	//TODO update artigo
			            	st0.close();
			            	return true;
			             }
			         }
			        
			         PreparedStatement st = conn.prepareStatement("INSERT INTO trabalho VALUES('"+nome+"','','"+file+"')");
			         st.executeUpdate();
			         	
			         st.close();
				}
			}
			catch(Exception e){
				e.printStackTrace();
			}
			return true;
	}
	
}
